/*
 *
 */
#ifndef UNIONAST_SOCK_UTIL_H
#define UNIONAST_SOCK_UTIL_H 

#define SOME_ERROR	-1	

/*
 *@brief: 	tcp connect,使用非阻塞来实现超时 
 *@param:	timeout	单位为毫秒
 *@return: 	0 ok, others  error
 */
int tcp_connect(int sock, const char* host, unsigned short port , int timeout);


/*保证发送定长的buf, 否则返回错误*/
int safe_send(int sock, const char* buf, int len, int timeout);


/* 保证接受定长的buf，否则，返回错误 */
int safe_recv(int sock, char* buf, int len, int timeout);

/* 超时接受 */
int recv_o(int sock, char* buf, int len, int timeout);

/* 超时发送 */
int send_o(int sock, const char* buf, int len, int timeout);

/* 发送整数，网络字节序 */
int send_int(int sock, int value, int timeout);

/* 接受整数，网络字节序 */
int recv_int(int sock, int timeout);

#endif
